package ${escapeKotlinIdentifiers(packageName)}.api.service

import java.util.Map

import io.reactivex.Observable
import okhttp3.MultipartBody
import okhttp3.RequestBody
import retrofit2.http.Body
import retrofit2.http.Field
import retrofit2.http.FormUrlEncoded
import retrofit2.http.GET
import retrofit2.http.HTTP
import retrofit2.http.POST
import retrofit2.http.PUT
import retrofit2.http.Path
import retrofit2.http.Query
import retrofit2.http.QueryMap

interface ContentService {
    @GET("")
    fun issueGET(@Path("id") id: String, @QueryMap params : Map<String,String>, @Query("size") size: Int = 20) : Observable<String>

    @HTTP(method = "DELETE", path = "", hasBody = true)
    fun issueDELETE(@Body body: RequestBody): Observable<String>

    @POST("")
    fun issueUploadFile(@Body file: MultipartBody): Observable<String>

    @POST("")
    fun issuePOST(@Body body: RequestBody) : Observable<String>

    @PUT("")
    fun issuePUT(@Body body: RequestBody) : Observable<String>
}
